/* 
使用mongoose操作mongodb数据库
*/
// 1. 下载 npm i mongoose
// 2. 引入mongoose
const mongoose = require('mongoose')
// 3. 连接数据库
mongoose.connect('mongodb://127.0.0.1:27017/test_db')

// 4. 绑定连接成功的监听
mongoose.connection.on('open', () => {
  console.log('连接数据库成功!')
  // 5. 定义文档结构
  const bookSchema = mongoose.Schema({
    name: String,
    author: String,
    price: Number
  })
  // 6. 创建模型(对应集合, 能进行数据的CRUD操作)
  const BookModel = mongoose.model('books', bookSchema)

  // console.log(typeof BookModel)

  // 7. 更新文档
  // 更新一个
  // BookModel.updateOne({name: '三国演义'},{price: 100}, (error, data) => {
  // 更新多个
  BookModel.updateMany({name: '三国演义'},{price: 200}, (error, data) => {
    if (error) { // 如果失败了, 输出错误信息
      console.log('----', error.message)
    } else { // 如果成功, 输出返回数据 (产生的文档)
      console.log(data)
    }
    // 8. 关闭连接 (选做)
    mongoose.connection.close()
  })

  

})

// 绑定连接失败的监听
mongoose.connection.on('error', () => {
  console.log('连接数据库失败!')
})